<?php
/**
 * egpusersList.php
 * 
 * (C) 2009, tetsuya.odaka(EzoGP).
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * EGP_USERSのリスト表示をします。
 * 
 * 
 * author	;	tetsuya.odaka
 * date		;	2008/6/3
 * 
*/
	// 前準備
	include("../Myznala/myHeader.inc.php");
	
	/*
	 * 変数定義
	 */
	// 遷移先のテンプレート名
	$myTemplate="../examples-egpusers/templates/egpusersList.tpl";
	
	// パラメータをサニタイズして配列に入れる。
	require_once("../Myznala/MyConverter.class.php");
	$cObj = new MyConverter();
	$reqParm = $cObj->getRequestParameters();
	
	/*
	 * セッションから検索条件を復元します。
	 */
	$id		=$_SESSION['id'];
	$name	=$_SESSION['name'];
	$kensu	=$_SESSION['kensu'];

	if(!is_numeric($kensu)) $kensu=5;//初期画面（など）の考慮
	if($kensu==0) $kensu=5;
	
	/* 
	 * 0.requestから指定されたページ番号を取得する。  
	*/
	$myReqPage = $reqParm['page'];
	if(!is_numeric($myReqPage)) $myReqPage=1;//初期画面（など）の考慮
	if($myReqPage==0) $myReqPage=1;
	
	/*
	 * 1.connectionの取得（$conn）
	 */ 
	require_once('../Myznala/MyDBConnection.class.php');
	$cObj = new MyDBConnection();
	$conn=$cObj->getConnection();
//	$myLog->debug("Connection:".$conn);
	
	/*
	 * 2.ページネーターの初期設定
	 */
	// オブジェクト（paginator）を生成します。
	require('EgpusersPagingBean.class.php');
	$objPage=new EgpusersPagingBean();
	$objPage->setTableName('EGP_USERS');
	$objPage->setPageSize($kensu);
	$objPage->calc($conn, $id, $name);//レコード総件数、ページ総件数を計算する
	
//	$myLog->debug('$myReqPage: '.$myReqPage);
//	$myLog->debug('$id: '.$id);
//	$myLog->debug('$name: '.$name);
	
	/*
	 * 3.指定されたページのデータをデータベースから取得する
	 */
	$result_array 
		= $objPage->goPage($conn, $myReqPage, $id, $name);
		
	/*
	 * 4.ページネーターから表示用ページ配列（１- が入っている）を取得します。
	 */
	$myPageArray = $objPage->getPageArray($myReqPage);

	/*
	 * 5.connectionを解放
	 */
	$cObj->closeConnection($conn);

	/*
	 * 6.前ページ(previous page)を計算
	 */
	if($myReqPage > 1){
		$myPrevPage=$myReqPage-1;
	}else{
		$myPrevPage=0;
	}
	
	/*
	 * 7.次ページ(next page)を計算
	 */
	$myNextPage=$myReqPage + 1;
	$myNextPage=min($myNextPage,$objPage->getTotalPageNum());

	/*
	 * 8.最終ページ(last page)を計算します。
	 */
	$myLastPage=$objPage->getTotalPageNum();
	
	/*
	 * 表示ボタンのセット 
	*/
	$button_array=setButton();
	
	/*
	 * テンプレートの引数をセットします 
	 */
	$myTplData = array(	
					'myLoginUser'=>$myLoginUser,
					'myAppName'=>'examples-egpusers',
					'myPageTitle'=>'EGPUSERS_List',
	
					// 検索条件
					'id'=>$id, 
					'name'=>$name,
					'kensu'=>$kensu,

					// ページャー部
					'myPageName'		=>'egpusersList.php', 
					'myReqPage'	=>$myReqPage, 		//表示するページ
					'myPrevPage'	=>$myPrevPage, 		//前ページ
					'myNextPage'		=>$myNextPage, 			//次ページ
					'myLastPage'		=>$myLastPage, 			//最終ページ
					'myPageArray'	=>$myPageArray,			//ページアンカー 
					'result_array'	=>$result_array, 		//データ
					'myTotalRecNum'=>$objPage->getTotalRecordsNum(), //データ総件数
					// 表示用ボタン
					'button_array'	=>$button_array
	);
	
	// 後処理
	include("../Myznala/myFooter.inc.php");
		
	return;

	/*
	 * 次画面のボタン表示のための内部関数
	*/
	function setButton(){
		require_once('../Myznala/ButtonBean.class.php');
		
		$bArr = array();

		// 照会
		$bObj=new ButtonBean();
		$bObj->setId("egp-my-show-button");
		$bObj->setName("show");
		$bObj->setSrc("../images/edit-find.png");
		$bObj->setAlt("リストで照会");
		$bArr[0]=$bObj;

		// 登録
		$bObj=new ButtonBean();
		$bObj->setId("egp-my-entry-button");
		$bObj->setName("entry");
		$bObj->setSrc("../images/list-add.png");
		$bObj->setAlt("データの新規追加");
		$bArr[1]=$bObj;
		
		// ダウンロード
		$bObj=new ButtonBean();
		$bObj->setId("egp-my-download-button");
		$bObj->setName("download");
		$bObj->setSrc("../images/download.png");
		$bObj->setAlt("ダウンロード");
		$bArr[2]=$bObj;

		// 一括登録
		$bObj=new ButtonBean();
		$bObj->setId("egp-my-package-button");
		$bObj->setName("package");
		$bObj->setSrc("../images/upload.png");
		$bObj->setAlt("アップロード");
		$bArr[3]=$bObj;

		return $bArr;
	}
?>